package model.facade.persistence;

import java.util.ArrayList;

import model.core.torneo.Gara;
import model.core.torneo.Torneo;
import model.core.utente.GiocatoreInterface;
import model.core.utente.Studente;

/**
 * 
 * @author Giuseppe Fusco (fusgius@gmail.com)
 *
 */
public interface GaraDAO extends DomainDAO {

	public abstract void addGaraToCalendario(Gara gara, Studente arbitro, Torneo torneo) throws Exception;

	public abstract void removeGaraFromCalendario(Gara gara, Torneo torneo) throws Exception;

	public abstract void addGaraToCalendario(Gara gara, Torneo torneo) throws Exception;

	public abstract void addArbitroToGara(Studente arbitro, Gara gara) throws Exception;

	public abstract void removeArbitroFromGara(Studente arbitro, Gara gara) throws Exception;

	public abstract void addPartecipanteToGara(GiocatoreInterface g, Gara gara) throws Exception;
	
	public abstract void removePartecipanteFromGara(GiocatoreInterface g, Gara gara) throws Exception;

	public abstract ArrayList<GiocatoreInterface> getPartecipantiToGara(Gara gara);

}
